{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "50b0854f-06ff-40a1-9385-25bcd9057ccb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "模拟 erp_order 行数： 12226\n",
      "\n",
      "从模拟数据聚合得到的汇总表：\n",
      "   商品  2021销量  2022销量    差值\n",
      "0  口红    3568    2569   999\n",
      "1  精华    4936    3541  1395\n",
      "2  防晒    4106    3209   897\n",
      "3  隔离    4436    2965  1471\n",
      "4  面膜    4135    3241   894\n",
      "\n",
      "校验通过：聚合结果与目标表完全一致！\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHmCAYAAABu7O3BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC4EklEQVR4nOzddXRURxvH8W92sxsXgruUYgWKu5UCxYq7W5HgUtyl2Iu2UIq7uxdatFAo7u7uHt/k/SNky5IEgoRQ+H3OyWkyd+7s3N0bmufOMzN2HkkKhyAiIiIiIiIi750hpjsgIiIiIiIi8qlS0C0iIiIiIiISTRR0i4iIiIiIiEQTBd0iIiIiIiIi0URBt4iIiIiIiEg0UdAtIiIiIiIiEk0UdIuIiIiIiIhEEwXdIiIiIiIiItFEQbf8pzRvVJmyJQvg5OjwQV7PYDBQtHBOvimU44O8Xkz5ImUSurZvQKtm1d9LW7WqlqRo4ZzvoWfhFSuSi/Eju9K7yw/vrc0PfV9FxmAwYDQa3+rcJIni4enpFmGbFb//hi9SJnnrflUuX5R/Ns/kx7Z1X1u3drWS/LN5Ju1b1nrr1xMRERH5lCjolv8MdzcXevzYmNmTBrJkznDs7Oyi/TWzfZ2OBdMGM/nnXsTydI/214spCeLHpmuHBjSpWz7SOvb2RpIlSUDSxPFf2Va+XJkZP7IrrZpWe9/dBCB1qqTUqlqSQvmzvpf2ovO+iu3lwV+/T6Z+rbJRCuiXzh7OvYt/ki5Nijd+rXYta3F453y6dWhgU17x+yJMG9+HEYPav3GbYYKCLKRJnQwPd9fX1nV0dCBN6mS4uDhFuf24cWK9dd9EREREPnb2Md0Bkahq+UNV3FydefrMlxbtfiIkJCTaX3PvgeNMmbmc5o2r0LV9fbr0+fmd2kv7ZXJ2b5rxxuelzlKBu/cevtNrv8qDh48B8A8IjLROsiQJ2L99Ds98fEmctlSk9cLaCAwMer+dfM7Xzx+Ae/cfvZf2ovO+alinHBkzpOaH+hVYuHSjzbE8OTNRtmQBeg741VrmHxAAgK+vn7WsdbPqPH3my6p12yK9B+ztjVQoUwR3NxceP3lmc2zJik00b1SFAnmzkPXrtBw4dOqNr+PpM9/n/fv3/sieJT1NG1TE18+fgMAgLEEWAOsDg0L5sjG4T2jgbTQacHAw4+jowMhfZnPqzCVrO2VLFmDC6B507TOW2QvW2bzu8T2LSJQgbpT7WaZqW3bsOvTG1yciIiISnRR0f6IMBgPeTapQr2ZZUiRLiCU4mLt3HzBv8e+M+GUO/v4B4eq3aFyZ+rW+J3nSBFy/eYfJM5YzbtKi99I+QPq0KenRqREF82bF2dkRXz9/9h04waD/TWXvgeOvvJ7ECePSsmlo6vOIn2dx6crN174HdnZ2ODiYMJtMmEz2+Pr64/NCMJMkUTy2rpvEs2e+BAYFYbEER9hO2Ihdwzrl+KZQxCnTDmYTZgcTDmYTHXuMZtmqzRHWu3P3IQA+vn5cvXb7tdeQJHE8nJ0c8XseaEbGw92VZz6+BD0PfN7U06ehQZUlOOL3AOCZT2gdX99X9yUgMHqD7rB2/fzC32NvKjruqzAeHq54N6nCMx9f6jXrY31YAGAy2TNmaCfSfpmcU6cvMWvBWgDr701gYOjn6OHuyo9t6+Hq4sSpMxcjDbob1P6eOLE9uXbjDqfOXOLbIrlsji9duYkZc1fhFcvD5pjBzg5HBzMOjmYuXb7Bnv0R/x4GhPUr4N/PNHHCuJQvUwRfPz8CA4MIfH7vOTuFjuin/TI5iRPFA8BoMODk6ICjo5mZ81bbBN2F8mfH1cWJEYPac+rMJZs++PiEvq9zFq7j8WPbhwkvql29FO5uLhF+DiIiIiIxTUH3J2rmb/0oW7IgwcHBnDxzCX//AL7O+CWd29Unb67MlK/ZkeAXAqzxI7pQo8p3AJy/eI3YXh4M6t2SZEkSRDi6+6bt586RkaVzhuPi7MSjR0/Ze+AEKZMn4ptCOcif52tqNu7Bn1v+ifR6hg1oi+vz4LdP16b06dr0jd+TH3uOYdKMZdaf7ezscHN1xt5oJMhiwWKxEBICdnahQVHACwHGrdv3ASJMr7WzIzQAM9tjNpmwf8WcXB/f0MB1/8GTlK3W7rV9Xr1wNAXyZiHgNQHs/u1ziO3lARBh4O3r50+yDGXeaRQ3LBAMDHp1XwKieaT7fYqO+ypM13YN8IrlwdNnviyYPhij0YjZbOLo8XPUaNiNtl3+x9rFYxjY25uNW3Zz89Y9a+AaxrtJFdzdXJi/+Hd27j4c4eu7ujjRsXUdIDQQXjxr2BtfA8DUWSsjDbojum1WrtvGyi9LhCuvVbUk40d25effFvC/sbNe+7pd+/xM0sTxKFU8P9Mn9KNQySbWLIawe+h/P8/mwsVrkbZR5rsCuLu52DwUEBEREflYKOj+BP1QvyJlSxbk/MVrNGrZn4OHQ9NJc2X/iqVz/kfBfFmpWaUEcxauB6BR3XLUqPIdj588o2aj7uzYdQhnJ0fmThlEs0aVWbVuO3/tOvjW7Ts6mpn8Sy9cnJ0YNW4uQ0ZNx98/AAcHM+NGdKFK+W8ZOag9X+evGeH11K1RhjLfFQBgxC+zefDwic3xOF4etPOuxdXrt5kwdYm13I7QtFt7eyNOjo4cPnbG5rwr124R74viNmVJE8dn4tie2NlB1XpdePLUJ1x/5k0dREBAENPmrGTL9n2v+zhs+PtHnr79KsGvGIEGWLl2K0ajMdyIvcFgR5N6FTh/4eo7p01bgi3P+/LqdsJePziS18uZLQOd2tSlXrM+kWZErJg3Aj+/AAKDgggODrYJ+tzdXAD4plAO/tk801puZwdGoxGTyR5HBzPlanTgxKkLkfYzuu4rgLy5MtG0YWjqtY+PL7E83TEaDZhMJmuQv2vPERYu3UiNKt/Rr3tzmrUdZNPGFymT0Lp5DXz9/BkwbHKk19GnW1MSxo8T+t7lrBLuHsuY4QtWzh/Jrj1HqNW4p80xg8HueZaGmWfPU8hfVKp4Pvxe+owG9fbGzdWFNp2H07F1HVImT0RAQBABAQGEhEDaNMkBKP5NbmLH8gh9KGU24+BgYtuO/Sx4Kc0+ODiYRt792f77ZFKnSsqUX3pTqc6PBAcHY7G8WebGqzI1RERERGKKgu5PjL29kY6t6+Dr50/FWh1t0mX/2XeM6XNW0qppdb77Ni9zFq7HbDbRpV0DALr3+8U6H9LH14+2Xf/H/m2z6dK+Pn9VP/hW7QPUq1GGpInjM3XWSvoNmWit7+8fQKeeoylfujDJkyUkQ7qUHD9pGyR9kTIJg/u2AmDa7JUMGBo++Pjyi2S0867FnbsP+OW3Be/0/l2/eZcjx8/StEFFls75HxVqdrSmVQOkSJ6I777Ny5OnPvQcMP6N2zcY3m7twtfFy+27jYywPE3qZDSpV4ETpy7QrUMD6tYsg79/gHXUOozJFDo6/0WKxOzdOguzyYSjo5ks+Wv9m7L7HqY6N6j9PT/1aYmzkyPjR3alccv+4eoYDQY83F0xmULTli3BwTaBvoODCQi9F19crMtkb8TBbLZmHBhf8V5H530VP54XE8f0wGg00rhpb9Zu2BFp3SGjZ+Di4kSfnyaEOxZksbB89RYePHzMtRt3Ijw/b65MNH5h8buv0qUKN1qeOlXoquWuLk5k+iq1tTws4HZwMLNn33Fu37kfrv2+3ZqRMnkiajbuYS3LniU9WTOnpXu/XyicPxs5s39FQEAgAQGBBAeH4OhoBiBDulSkSJYICP2sHB3NPHz0JFzQDaGZGG06D2f1wtFcvnoTB7MJXz//1973IiIiIv8FCro/MW6uLkyasYwHDx9HOD/10uXQsrA06fx5viZ+PC/u3X/E/CUbXqp7g6079lMwb1brAk1v2j7AhUvX+W3qEkaNnxuu/sOHT3j85BmxvTzCpW57uLsy87d+uLo4cfb8FZsFp6KLxWKhc68xOJhNxIsbizixPWyC7ro1SmMwGBgycjpXrt164/bNprf7lTMaDW886gdYg6zDx86QMEFcEiWIy9Nnvvj4+NoENEZjaIBqMBjw9HDDZLLHydHhva3knSJ5Iob2a8133+YF4NjJ88yavybCukdPnCN+6vBpy2HC0pc3btpN/eZ93rgv0XlfGQwG5k8bTNIkCVi6atMrA26Ai5euU7dp7wiPXbp8A+8OQyI9183VmXEjugKhadgmk/0rU8szZkjNinkjIjxWu0lPrt+0Dezt7OxInjQhx0+ex/+F+fM7dh8iT85MFPsmN+VqdAjXVtjnM+bXeVFKLw+zc/dhCpX8gaMnzr3QhyifLiIiIvLRUtD9iXnw8DEjfp4d6fE0XyYD4ObzOcpfZ0wDwPadByKcC7zvwAmKFspJ9qzp2bxt7xu3D7Bx8242bt4dYf24cWLh6eEa7hxHRzPzpv3EV+m/wN8/gCatB9oEv+9T/x7NadO8RoTHShXPH2H54L6trCOlYSZOW0rn3mNf+Vqurs4AFMibhYdXtkS5jw5mk3WudEQ8Pd0Y1r8NnXuP5eELadKZMoQG3Xv2H+fo8XP0GzIxws85WZIEHP57PmfOXyFfsYZR7heEBpomkz2OjuFTlL1iedCmeXWaNaqMk6MDN2/dY/DIacyav/a1KfPRIbrvq+DgYPr89BtjhnZk8IjpmJ9/bvb2Rhyfr9798NET62fQpH4FPD3+3Vs73ZehqdnNGlWymdpw7sLVcIvz/Ty8M6lSJGbG3NV8X6ogXrE8KFGhZbj5/2lTJ+O3MT04ePgU7V7IiDAY7HBydCC2lydHjp0Ndy2pUyXF0dHM/pdWO9+24wBuLs6ULpGfEkXz4OvnjyXIYp1W8HJ6eRij0YC9vT0uzo507z8uwtXnXwy4AezeMDPEoChdREREPkIKuj8jZrOJcqUKA7Dm978ASJQgdC7o8ZPnIzznwqXrQGhQ9jbtv06V8t9iNBo5fuqCzUJJuXNkItbzYKRbv19wdXZicJ9WEbYRFrQnThiXIX1bYTAYsDPYYTQYMZvtMZtNTJ6xnH/2HYvw/LDtmWYvWBvpYlWvkj1rehrXLW/dVulVXF2dOX328hu/hr39q39Vf2xTl2oVi5MsSQIq1OpoXdm7SIHs+PkFcOjomVcG7W8iccK4kT4wKFmptfX7vLkycWjnPNxcnbn/4BFDR83gt6lLbFbx/tA+xH21bcd+vqvYmtP7l0bYbsHvmnDkeGiQ+0P9iqR9Hmi/qG0L2/UNVq7dahN0165Wkgpli3D95h16/zSB70sVBODQ0TMRzpOH0G2/wtZfiIrMGUMf2Bx46Zytf+1j61/7mDtlIIXyZ8fPzx+LJRhLsMWaPXHtxh2SJI5Pkud7utvZgdFgxGQy4uLsxMDhU7jH67d8M73mvn+Z/VtmkoiIiIhEJ/2F8hlp3qgy8eN5cebcZVav3w6A0/PtfW7cuhfhOQ8fhY6aJnm+9c+btv8qbq7O1uBi9Djb1POtf+0jf4nGlCiam/V//E2T+hVo0aQKj588C7e4Wdhq4Z4ebpQvWwSDnQGDwQ6j0YDZbMZssmfdxp0QSdAdtvfw7r3HmLtovbXcwcFMiW9ys+qFaylRNA9Xrt2yWaDLzz+AxnXLE/SaVb0BLly8Rq5v6r223pvqO3giqVMl5btv8zJ9fF9q/9CLeHFjkTnjl2z9a7814C5aOCfVKhSjefvBb/1aQUEWLl8NnUYQFkzZm4w4OTrYjKInShCX6zfvMGz0DKbNXhmlhxLR7UPdV0+ePGPmvDXY2xupVbUkp89e5q+/D+Ls5GD9nQLw8/MnKMhCmmyVIuxvjqzpWThjSLjFzJav3kqV8sUYPnYmjx49tU4DuHV2Q0TNAK/OrohoBfYCebIAcPDwqQhX7X95Ubbo4OgQOj/8wPY5UarvYDZFZ3dERERE3oqC7s/EFymT0KV9fQA69x5rTe0N+2Pd1y/i/W3DRiVfXLDqTdp/lUG9W5Igfmz+/ucIC5eFX1wpODiY9X/8Dfy7DdX4SYsYMmq6Tb0vv0jGni0zOXbyPN+Uafba1w3/OhGv1tSvW1OaN67CzHlraNN5OCmSJ2LKuN7Y2xvp1vcXps9ZFaV2PoTAwCDqNu3NohlDKFk8H2OHdWLvgRMYDAb+3PrvVmx9uzYlc8YvWbJyU6Qp/69z6859shWsHenxsHnbW7bvo2r9LlHeOiyWpzv+/gEEBAZisQS/02rroauYGzHZ22MymXjw8LG1vQ9xX4UtDJYsSQJqVS3JgcOn6NA9/GJ3Yatt338Q8ajv4yehe1MHv7SH/DMfXyrW7mT9OWyBvonTlobbbz5OHE+qVijGtRt3WLlmq80xe5MRZydHzl28GuHrn7twleOnLpA3Z6YIj2fPkp4/V0VtTvyTpz4kTV/6lXVcXZwYObgD3fr+wr37j1iwdAOuLs4kThSXcqULc+zEObbtOACEpuA/febLnAXrrOdHlLIuIiIiEtMUdH8GTCZ7Jv3cExdnJybPXM7mbXutx8JG0PwiSfm1PB+5dHRweKv2I1OuVCHq1SzDk6c+tOjw+lHXt1lE7F00bVCR5o2rcOXqTUY/XwDu4qXrtO3yP0YP6cjoIR3Jlf0r2nWNeGGqFy2b8z++KZTjlXUKlGjM0RPnqFaxOBPH9nhl3ZOnL5Ln2wbhygMCAqnbtDfrl/1C7Wql+L5UIYKDg1m5dpu1Tv+hk1g8axh9uzfjjy3/vPM2Yq9y78GjKAfcRqORC0dWvlH75csUjvK8+Mx5a1hH51/0oe+r8K8fjMFgx/iRXSM8Hie2JxD59mthwoLuXoMmhEsvz5I5LVUrFOPCxWt06/dLlPsW2Yr4LwqbD7//0EmWvjTn/EUdW9WO0kMp7yZVqVaxOO5urtRo2I1B/5sKhG5dVq50YbbtOGC9hh8aVOThwydvdE0iIiIiMUFB92dgcN9WZPs6HYeOnKZHf9ttrh49fgpAbC/PCM91e74nsr298a3aj0iqFIn5eXhnANp0Hs7F5/PGX+Xl0bvo1LxRZYb0a829+4+oUKsT51+Ya7505SYOHz3DvKmDqFW1JMmSJIh0Fe4wYUHQ+YvXwi1iFj+eFx7urjx4+Bj49+HH3XsPuf/gcbi20qROFumcXQgdGa1WrwsbV44nYfw4/P3PEZtg848t/7Bj10Hy58lCxe+/YenKTa95Nz6MkJAQjp+6gL9/AP7+AQSHhIQb3QX4IlUS7j94zIMI3psX2duH7tdtNpmwtw/dvzwi0XVfHdoxD8D6UKNksbwc+GtO6H7VZhMlKrS03lcGg8G64N3LnJ0do/R6YXOfWzerHu4eC1u3IUmieLTzrmVzLGxvc7PJHkdHB4aMnP7vFnFREJYpcPL0xVduq9a0fkWMr/g3BEIXA2z5QzUARo2zTSeP5ekOwNNoWkxRREREJDop6P7E1a1Rhib1KnDv/iPqNesdLmC7dv02AMmSRrxQWtw4sQDwieSP3de1/zI3V2fmTB6Ih4crv0xcEG5F5shE54jsi1o1q87Ani14+syX3XuP8H2pQhHW+9/YWTRrVJnxkxfh6Bh5FgBAQGBoYFK2artw2zKNH9mVWlVLWoOJsLoTpi6JcLulh1e2hFud+mVXr9/m6rXbJIwfhwzpUpIsSQKbwPvXKYvJnycLndrU/WiC7uDg4Neumm4wGDj411y8YrnTpddY/tp18J1fN7ruK3d3F+ywIzgkNKg3m014erhhNptwMJtt9msPCrJQsGSTCNvJkzMT65f+/NrXC9tnveePjSOtkyJ5Ivp2a/rKdkaPn/dGQXdYenyGtCnDBfQvCtty8FV+bFMXDw9XVq/fzu69R22OpUuTAoBLl1//gE5ERETkY6Og+xNWKH82RgxqR2BgEA2a94lwX+2DR04D/24d9rKc2TIAoasRv037L7K3NzLt176kT5uSP7f+Q+9Bv0Vad8zQTphM9gQEBBIYFESqFIkB+LZIrnCLOr24ynREK1Hb2YHBaMTBbOLGzbvh5u6+aOK0pcSLE4u5i9azccV4SpcoEGG9yTOXU6ycN8HBwVQqV/SV1x2VtNoA/8Ao131dSnTNKt+RM1sGbt66R4L4sfltTA9KV2ljDTDXbfybG7fu4ubqTIrkiaKUafAxaFS3nPXhUKH8WW2Cbhdnpyht/fWh7quUmcoB/27FtnLtNpq1HfRG1xtVBoOBf/YdB6BcjfZRTumH0IcBTk4OuDg54fTSIm9REfL8fs2SOS1ZMqd9Zd1XBd3JkyagSb0KBAVZ6D90UrjjObN9BcDxFxYwFBEREfmvUND9icqZLQOzJw3AbDbRrusItv99MMJ6Bw+f5sHDxxTKl5X48by49cJe2QaDgSIFQ+ciH3oenL9p+y+29duYHhQrkotTZy7RyLv/Kxdb+75UQRwdHQjwD8QSHExwcDC3bt8nWZIE4bYvMxpDRw1jebpHGAC/uOL00eNnXxl0BwQE0nvQBAB8fPy4c/eBzaJh5UoXZuZv/UJToKO4z3TYaOer6/y7yNfrvGpwNm6cWPTt1gwfXz9KVm7N6MEdKVIwO+28azLq+QrxFouFek17c+DwqQj37H4bxYrkolObuhEGTO9D0sTx6fVj6Ghwz4G/WlOZPTxc6da+AeXLFqFkxVavffATU/fVq9jZEekocdIk8V97fupUSaxbgfXv3vyNX//J02f8NGLaG5/3ormL1uPdYUikxw/vnP/K8/t2a4aDg5lZ89eE21IvUYK45M7xFffuP+Lg4dORtCAiIiLy8VLQ/Qn6ImUSFs8chrubC79MXBBule0XBQcHs3DpRpo1qsxPfVrRuGV/67Ef6lcgccK43H/wiL/3HHmr9sMMG9CGyuWKcvfeQ6o16GqdSx6ZVJnLR+FKQ4WtMn30xLm3Wr08Mq8Klt8kWI1KBrPJ3oi/P7xLsrOdnR2TxvYkfjwveg78lYuXrtOm83D+/nMaXds34Pc//+b4ydCRwj37j7/DK/37et+XKkSHlrWso5zp06bk6rXbrz23bYua7NpzhH/2HXttirejo5npE/ri4eHKxOnLbOYOG+wM5M6ZiYTx47B41jBKVGhlnR8fkZi+r8K2UXuR0Wh8bdr3q7i6OtOiSZW3Pv/S5RvvHHQnTRyfcqULR3rcyckBX9+IF2sslD8bFb//Bl8/fwaPmB7ueLuWtTAYDKxev/21D6XMZtN7249eRERE5H1R0P0J6t6pER7PU2O/KZiD7esnR1gvbB7pyHFzqFSuKJXLFcXVxYmlKzeR7et0NK5XAYAxv863SVl90/a//CIZTZ63FRISwuyJAyKsP3X2SqbNfrMVrKOTs6MjBjuDzShnjqzpgX/3D46K57uyvZKDg5mnz3yJQtVIjRjUniIFs/P7n39bA9PLV28ybPRM+nVvxvgRXSn6fYsoj9C/LCz92myyp1Wz6jSuW46UyUPTs3ftOcLo8XNZ/8ff1i3DIuPk6EC3Dg1xdDTTpvNwZs6LfCE6o9HItPF9yJ4lPb//+Tfd+tquVP3g4WMq1u7E+iU/ky5NCuZOGUSFWh1fu7ZATMiUITXL5v6PqvW7cODQKWt5UJCFOCm/jfCcvLkysW7Jq+d0P3kSur/4lu37qFCrY5T7E5b6/vIe4G+jYL6sFMyX9ZV1LkeQhWA2mxg+oC0Av01dEu6BRM5sGWhQqyxBQRbGTnj1aDmE7kXev3szZs1fy2/Tlr7BFYiIiIhEHwXdn6Asmf6dn/1V+i9eW//W7fvUbtKTqeP78N23eW2CpsUr/gz3x+6btv9i/bhxYlkXZ3tZ/Lher20rImFB7bsErBFxcnLAw8OVqeN6hzvm8CZB9/OerV40OsLVyyE0EIV/901v3qgy1SoWj7A9g8HupZ8NDB/YlkZ1y3H0+FmatrGdOzxu0kJqVyvFzVv3cHJ0iHDus53h9e9eneqlgNDPcGDPFgBs3LybUePmsHP3YWu9oOdzzlOlSIzBYAgX5NepXhpHRzNBQRY2bNoV6euZzSamjutNqeL52fnPYRo07xvhfPaHD59QpW5n/lj5K3lzZWLyzz2p37zvWz9cCPM+7ivD8xT1bF+nZd3Sn3F1cSJ/niw2QferGA2vXvEb/l18721ZovA+OTiG3u9hKfdhwt6jlWu30mfwxEjPn/VbP9zdXMOVd+vQkLRfJufe/UfW6Q9h0qVJwcyJ/TGbTYyfvIhzF8LvJf7yA614cWKRMUNq6tf+XkG3iIiIfDQUdH+Csheq88bn/LPvGPlLNKJ5w8rkyJaBx0+esWzVJlav/+ud21+0/A8WLf/jjfsUVQ7msIDg9QFKRCLbDi17oTrWIPhlT576WL9P8DxwjixNOixQCVu0KyJhK6CH1Y0T29O6R/Or+msy2bNw+hC+KZSDcxeuUrlu53Cp+0FBFqo16Mqlyzci7WPu7BlD675iEa4jx85av1+/cSeDR07j0NEz4eqdPXeZ4OBgsmZOy4k9i236YzbZWxdDW75mCzdv3YvwteLH82Lar33Jlyszu/YcoVq9Lvg+304ttpcHiRLEJVHCuCROFJekiROQLGkCAp8Hn9+XKsTIn9pHaQ/1V3nX+wog8/OtwL78Ihn3HzyiVpuBrN2ww3r8VVvxAXh6hg9UX2b/Dv0DMEQhFcPVxQkIvd9eFPbePH3my4UXttZ7WWQr/C9avpHCBbIxZ+E6m/ukeqXiDOvfFg8PV/YeOE7fCAL6oCAL8eJ64RXLg/sPHmFnZ8e3RXIBsHnbntdek4iIiMiHoqBbrB49esrQ0TNiuhtvzGw2AeEDgqhyeH7+y65cuxXpOR4ervw2ujvu7i4ULpAdwGY/b5v+mULbz5CzaqRbhoWlq4fVHTh8SqRbhoXVAQgMDGLUuDl4xXKnRqPuNgvhvSiiFco93F3Zvn4y8eJ64fh8JPPoiXORXvOq9duZMGUx6//8my3b90Va79KVm3Tr+wttvWuSKEFc62h+GF8/fzb8uYtOPUdHeH6enJmYP/UnPD3dQuv7+rN83ggSxI9D/LheNp+zxWLh5u373Lh5hwOHT3H0xDlKFc9Pg9rfc+fuAwb9b2qk/Xydd72vAOtChOcuXKVKvS7hAlNTJEF3iaJ5aN+yNpkzhgbtjx5FvgZC2L1TpGB2Hl7Z8sZ9jMr1ubk6A/++J9bXdnx1xkf+PF/TvWNDUqdKyoHD4Uf3j5+8QLFy3taHQbWqluSHBhXJ+nyNgH/2HaNK3c4RztO+ePk66dKk4Ng/C3ny5BkODmbrFIj5ize89ppEREREPhQF3fKfZzaH3sYuz0fj3tTr9tmOyKNHT/Fwd6Vk8XycOHWBWfPXRDqab3aIOKgHePz4Kbdu37eOcL+qLoSu3P3wpYXCtu08QOHSb74Q16PHT9m2cz91qpfm6vXbrP39L34a+eoFtbq+NKc6Mr9NW/rW6b1Hjp21SXkuXCAbFy/f4NCR05w6c4kLF69x4dJ1rly7ybUbd8Kl7M+fNpiSxfLSpnkNVqzZ+soHCa/yrvcVQLd+v5Agvhcduo+KcFTfyckxwvN27DrEtF/7YDaZ2L7zAJNmLIv0NWI/z4i4cu0Wq9dtj3Lf3NycqVO9NM7OEffhRXZ2Bm7dvo+fn+38byfHV5+798AJUiRPzPo//o7wIRLYrtjv5eVB1sxpsVgsjJ+8mP5DJ0W6BdqPPUfTtUMDUqZIjIuzE4GBQew9cJzpc1Zx5PjZCM8RERERiQl2HkkKv8uCySKfreTJElq3FfuvihsnFkajIdI075jSonEV4saJxbad+9l/8OQr93h+mYe7KwN6tmDU+LmvTHn+2KX9MjmXr9y0ptVHxmw24enhhn9AwCtHxP8LDAYDg/u0ZMqsFeG2DhMRERH5r1LQLSIiIiIiIhJNDK+vIiIiIiIiIiJvQ0G3iIiIiIiISDRR0C0iIiIiIiISTRR0i4iIiIiIiEQTBd0iIiIiIiIi0URBt4iIiIiIiEg0UdAtIiIiIiIiEk0UdIuIiIiIiIhEEwXdIiIiIiIiItFEQbeIiIiIiIhINFHQLSIiIiIiIhJNFHSLiIiIiIiIRBMF3Z+BrF+npXmjyjHaBzs7uxh9/eiWKEHcmO7CW7O3N2I2m2K6G2+tcb3ylCiaJ6a78UE4OTpgMET8z7bRaMTe3hjpuWaziYrff0P8eF7R1b3X6te9GWm/TP7BXq9g3iz/6X97Pqd7W0RE5FNmH9MdkPfL0dFMQEAQwcHB1rJ79x7Rt1sz9uw/zr6DJ6zlBoMBB7MJ/4BAa/2vM6Vh69qJkbZ/5+4Dvsxa0aYsTmxPXJwdCQqyULtaKb4tkouGLfphb28kIDCQm7fusWjmUBYv/4P5SzZE2K7JZM/m1RNo320ke/Yft5aPHtKRp8986Dng1wjPy50jI78v+4WEX36Hr5+/tTxvrkysW/IzidOW4pmP7yvesfBmTOiHo6OZ6g26Ran+N4VysGTWMBq17M/y1Vui/DqliuejWcPK1PmhJ0+fhfYxlqc7Dx4+plrF4rRoUoVvyjTD3t6Ii7MTjx4/tZ6bKkVi9m6dxe69xyJtP0O6lHTpPTbS9zxM3pyZWDhzKNkL1uH6zTtR6rvRaOSrdCkpkDcLv05ZQkhIiPWYh4crGdN/QfYs6Rk7YX5ombsrKZIlxD8gEIslOLJmrUwmI2azmYOHTwGwdvEY8uX+2nr8p/9NZdiYmXh6utGna1M6dh8VpX6/i77dmlKsSC4KfNfEprxu9dK0a1mL7IXqRKmdUsXzMW/qT6+8N11dnLh6ch03b93DEhxM4oRxqdesD2OGdsTR0SHce2hnB44OZtp1Hcms+WuwtzcSFGSxqRMUZKFPlx+YOX8NI3+ZY3PM3t5ISAhYLBYSJ4yLVywP/AMCeOFjjZTZZE9AYBBnzl0G4OGVLTbHS1dpw87dhylSMDvNG1Vm6uyVr23z4pFV3L77AH//gAiPZ/oqNbmL1ufUmUuRtlGsSC5+G9OD0lXavLLeu/oU7m0RERGJXgq6PzE7N04jQfzYBAeHYGeH9Y/mIIuFFfNH2tQ1Gg2Y7O0pX7MDO3YdAuDJk2c8feZL8q/Khms7S6Y0zPitX7jyIgWzUyhfNiwWC2m/TE6ihHH5sW1dDAYDR4+fY+uOfXxTMDuJEsalTYua2BE6Ype3WENroJw7e0aSJ0vEydMXbdoOCAjEPyAw0uv1e/5Hud9Lf5wHBASF/jcw8nMj4+vrh98LAfyrGI1G+ndvzt4DJyINuE0me8wmEz6+fjbBacfWdThw+BQhIeDm6kyFst/QokkVipRuip+fvzXgqFmlJN07NSRbgdrW9yvsmKuL0yv75vvSdTg4mIkdy4OAwECCg0P7UrJ4Pq5eu4WffwBesTxeqm8iICCQe/cfAVCuVCG6d2pE/HheXL9xh4uXb/DHln8oX6Ywlct9S/x4Xtjb23Pj5l2uXLvJ6vXbOX/xGrlzZGTO5IGhgckLwaCzsyPBwcH4+dl+fgajAUcHMwm+/A6LxUJAQBCtOg1l0fI/Ob1/KUtXbQagVdNq2NsbGdjLm4G9vDGZjHjF8qBU5db8/c+RSN+bN2E2h74HAQGBPH7qE+54CCGYTfbW9zcgINDmc35ZQGDovRkYFBRpnbB7vkSFlgDs2jSdjZt2kTJTuVf2NWxUd0CPFpQtWeD5A7V/+xIQGESNyt9Ro/J31jKTyYjJZGLY6BnMnLeGZo0q06xhJfwDAgkJtn2Y8szHl6BA22DeaG/k0JFTlKnaDggN7nMUqUvc2J7M+K0fO3cfBqBLuwb4+QWwYdk4IPSzDwoK4ut8NXn85JlNmz5+ftRv3ocTpy6Eu0aj0ci9i3++8ne0zHcFmPxLL4KCLCyd879wxwcMnfTah1FR9THc22lSJ8PJ0YFjJ8+He9ji6GgmXZqUPHz0hIuXrr/yWpInS8ilyzfe5e0QERGRCCjo/sRkK1jb+v2sif05eOQ0I36ebS2bO2UgO3YdYtykRRGeb7FYbP5rcyw4mOAIRnL2HjhBruwZn58XDCEhBAZZAAs7dh9kaL829BzwK79OWUyNyiWoV7MMhWt1IuCFYLp65eIsX70Z/4BAm1E6iyXYJmiAf4MgwNqfl4OcwOfBdmDgv4FN0cI5SZwwHrPmr7GW2dsbMRqNWCwW6wOKkJAQQkJCMBqN1jr2zwPYFzMIALq0q0eGdCm5efs+x/4JfU+9YrkTGBjEk6c+2NmB2WTCZLKnaNnmnLtwFYBqFYuT7et0ZM2clh/qV2TL9n1Urd+Fti1q8GObuhw8cpqQEHB3c6Fz27r8PGG+TQBtNIa+R936/hLu8wgzuG+rcOnGObKmZ8ms4fgHBMDz6w0Lpg5snxOuDbODiRWrt9C8/WAAEsSPzf2Hj8nzbQObegnix2HTtj30HzopXJABsGHTLuKmKhaufM7kgVy+cpNu/SK/DsD6kCBLpjRcu3GHs+ev8FW6VLT8oRoPHj6meDlvrt24w8ifOhAvbqz3FnADrFowiuRJE+Ls7IiD2WT9nMM4Ozng5urCqX1LcXQwU6j0D68MXMLuyRfvzZe9eM+X+DYP23cewNfPn3y5MzN1XB8sL92HRoOBpm0HsW3HfgC69fvF5j39sW1d9uw/zpbt+zAYDHTv1JDMX33JD60H2mRQAPQeNIHegyaE69Olo6vx7jiENb//FWm/4flnZQmmUP5srF4fWrdhnXJkz5KOf/Ydo0KtjtjZ2bF59QRmL1gXLuCG0IeFsycNeOUDt4ieazg5OtC1QwMqlv2G0lXacP7iNR49+vf6po3vQ2wvDxYs3fjKa3gTMXlve8XyYNHMIcSPFxtLkAWT2Z4aDbpx+NhZAEoUzcPEMT24duM2yZMl4q+dB6j9Qy8sFguDentTq2pJ2nYZwcq1W4nl6U71isUZNmbme3tvREREJJSC7k/Y4JHTWLNoDItX/MmlyzeIGycWxb/Jw6DhUyM9JyzQjIydIfz8SK9Y7pQvXZimbQdhCbLg4uLEmt//4qc+LXn61IdYnm7UqV6KKbNWUKFMEVau3WYTcIeN8nbtM5aePzameaPKBAQG4WAODVYB2javQUBgEHZ2cO36HXJ9U++V/Xz5D/IWjavQr3szjp44x9xF660PFepUL83Qfq1DHyg8D3Qcns9v/r50YQBM9qFzZb+r2Jq9B/5NfS9aOCcdW9dh8Mjp/G/sLGv5nMkDOXLsLENGTY+wbxnSpWTUkA7UbdrbGsCEPWjo1HM012/c4csvkj0vt2fpqs1MnrnCpo1HT57Sf9hksnydNtL3YMGyjRw7cd6mbMeuQyT4soT15zrVS9G6WQ2KlWvBkwhGcV8W2YMXS5CFZz5+EQbc70PYZ1OsSC7W/P4XdnZ2/DamOyN+no2ffwBLZg9n0fI/KP5NLoqUafZeX/u7iq0A6Nq+AQXyZqFstXY2x2tVLUnX9g3InK9GuHOb1K/AsP5t8PF98YFJ6JzsKyfWWsvs7MDF2Yk83zYIl+3xfcmC1uAVQgPL5BltM1EO75wf7qbPkTUDzRtXpkvvsZhNJnp3+YFRgztw/8FjzCYTHbqP5NHjp/To1Ijde4/yx5Z/ov6mvELYZ/VtkVwMHTWDRAni0q97M6rU7UyLJlWYNLYnQRYL127c4bdpSyNsw8nRzOp127hz72G4YwY7OzKkTYmDg9mm3Gw2sX7pzzx95kPxCt40qVeBQvmzUb5mB/z9AxnU25ssmdNQvHzLV2YifGjvcm//1Nub02cu8e33LQCY9HNP+nRrSuU6nfH0dOO3Md1p4N2XLdv3ET+eF7v+nE6FsoVZt2EndWuUwbvDYNq2qMXKtVupW6M0sxasDdc/EREReXcKuj9Ba5eMJY6XJwA+vv4smjEUACcnBwCm/drXWrdag642KYdubi64ujiFm5cZ5s7dB+HKTPb2xPJ0Y3DfVnh6uOLm6sLgvq1InjQBO3cfov/QSfw8/EeWzxtBHC9P6rfoa3N+o7rlcXN1JiTEdpRt0+oJeHq4YWcHp89efuUc67Ag1Wyyt1lo6utMaRjctxVpUyenR//xTJm1wma0evqcVUyfs8qmrfEjuwLg3WFIpK+XO0dGZv7Wnw2bdtkE3BEJG20OG71PnTIpf/19kD+3hgY5JpO9zVzQL79IRvYs6Ynl6UbeXJn4Z98xMmb4gv0HT5InZyZm/taPJ099ePLk2fOMgsjVrloST083WnYcyqate2yOJUoQl4E9vXFycuDE3iURnl+/eR/+fCEYs1iCyZ41Pfufj4o/fepDoVI/EBwcjJ2d7UObsAyBN51T/yoVyhahadtBhISEUKlOZ27fuY9XLA+8m1ShV+cm/PS/qdZU+OiQLUs6/tlsOxLo7uZi8xDpRf5+AVy9dtsmIC+QJwurF40mSbpS1rJkSRJw+O/54UZ2TSZ7cuXIyPAxs57/bMLV1Ynt6yfb1EsQP3a4INTJ0cxX6VIRHBzCuQtX+Sp9Kvz9Azl15iLlyxSmcd3yPH7yjMwZv+TCa9KO31SihHFJnyYFO3YdJCjIQs4idbl1+z7+AYGsWzIWgPI1OkQa/Fao2RHDKx4Abti8myvXbtqUBQQEUq9Zb65cu01wcDBjJ8yndIn8TBzTAwcHM6lSJKZ8jY7cjSCQ/xi8zb29/9BJlr0wrWXfgRPUqBz6UM3DzYXeAyewZfs+AG7dvs+Vq7eIHcuDWJ5uPHr8lCPHzxHbywMHBzOxPN25cfPuB7teERGRz4mC7k9Qovhx6NhztDVYSvtlck6duUTcOLFwc3Xm/MVr1nmRIS+lqR46cprYKb6NtO2I/kjevfco8b4ozsBeLWjaoBJGo4EnT56RKU8N7j94hJ2dHRcv36BujTJs33mAxAnjcv7iNSA0PbJN8xpcvX7bps0E8WOTKUNqFi7biL9/IDWrfoeHh6tNquiL/lgxHuxCR7sePHxM9fqhAfryuf9j0vRl1GjQLVwaq6OjGX//V8+/fZHZbMJkb88zH1/OXbjK8DEzWb1+O3cv/Mntu/etA41esdwpmC8rDWp/b10ZfMyv86xp/ivXbSNZ0gRcO7kOOzs7QkJCaP3jcOYuWs/Qfm24d/8hd+4+5NSZS1SrWJx0aVJw+NgZfmg9kF17jpAmWyUSxI9N0UI5X9vnI8fOcuT42XDlri5OLJg+mPsPH5MtU+0IzgxNJ345nT44OJgjx87SoHlfEiWMy/xpPwHg7OxEg9rl+KFeRYz2RpydHPDzD+Dvfw5TuU7n1/Yze5b0jPypPQ28+3Hh+b3xMqPBwNNnvnyVLhVXr92maKEcFM6fjdIlCvDH1n8ICrJQ5rsC1K1Zhr37j7Nu404WLnt/acQA+w+ejHSkOyLBIa9fWMum/kvTOgIDgxg6agZd2tfnr+oH+evvg6TKXD7Cc8MW4wsTEhI6gyAwMJCMGb7gl4kLrfOr+w2ZRKtm1ULnbb/hoO8P9SvybeGcNGrZHx9fvwjrGAx2+PsHkjpVUiyWYIoWysG3RXKRI2t6ps9ZjaenKxPG9ODBg0ccOXaWyTNXsO/gCc4dWmEz1eNVjEYDDg5mshWsbX0YeOmKbSC+5a99tGhchflLNnDy9EUePHz8Zhf7HkTnvT1x+jJrG4kTxqVhnXLW0epLV27ajFxXKFuEVCmTsHbDDp489cHd1YV4cWLx+PFTqlcqzqLl7/d3RURERP6loPsTFPzCX6w/tq1L3eplKFT6B4p/k5uferekx4BxzF8S+gdWWFWTyR5nJ8dwbT16/BQHBzOOL42iATx+8oyQkBC+/CIZP/VpiZurM0NHz6BAniw8feZDm+bVmTxjOasXjubOvYcULvUDDWp/z96ts5gxdzXtu42kRZMqbN95AEdHB5u2WzWtxvo/dvL48TOe+viycdMu2javSf+hkyK85pfTbTNlSA1A5rw1IkybTpYkAQf+mkNAYJDNKLO90YglOPSP/nLP08shNP3XwWzG3t5I7BTfcvfeQ8b8Oo/YXh7Y2xvJ+21D69zY16WXA/wycSEHD59m2MC25CvW0FoeFBTE0NEz2frXPmtZjx8bkzih7ZZkqVMmZUi/1gweMc2m3m/TlnD37kMA6tQozaJlf4QLuj093Zg7ZRCpUibm1u37kfYRCDef3mSyJyAgkOs372Bvb7QuBubq6sRPI6YydsJ8CuTJwviRXSNMt47M2QtX8PXz5/elP1O5TucIHxRYgoNp2mYQvy/7mctXbtKsUWU2/Pk3hUo1ISAwiL1bZ5E4bSmSJ0tIvlyZOXbiXJRfP6pyZssQ4ZzuJ08iTs1/04A2ovpjJ8yncd1ylCtViOED273y/M69x7BizVYg9J71cHdl9/OR+YrfF8XJ0YzvC1MAwhZUW7ZqU5T7uHP3ITq2rsOK+SOpUq9zhA/Crl67zcDhkxk3ogvTZq+kdIn8rFy3jSatBvDdt3mpUuFbvspVlSyZ05IzawZOnw1dXTxTnupUKvcNBfNlo1nbQQCsW/Izg4ZP4a9dB21ew2AwYDbbW6c0ODs58lX6VGTNnJYiBbNTuEB2Nm/bS+kqbWnWsBKliudnwtQlUZpG8T59iHv7f4PaUa9GGXbsOsQvvy2wOebu5sKOjVNJmjg+zdoOsj7g3LZzP2sXj6XXwF9JnyYlM+etQURERKKHgu5PlB3QvWND6tf6nhIVW/Lw4RPmLlrP2fNXmDVxQLi52+VKF2LKL73DtfPF1+WpX6ssvbv8EO5Yrm/qcfrsZZo2rMjps5cYPGIaab5MzrXrt60r8AYEBNK++0i2bN9HSEgInXuPZeqslYRtnTt63FxcXZ0YM/THf18zZRIa1S1P+RodqPR9UQCGj5nFuqU/s3z1ZusiQVER2R/Yl6/ejHBEf8KobsSJE4vaTXpGul3Ri15e0CqqurSrT6KEcYkdy4NObepiNBgYOnoGwcEhTPmll02asZurM6vXb7c5PyAwECdHB2pVLWktc3QwU/a7gtZU5ySJ4hH00shplsxpmTS2B5eu3GTA0Mn81KclV0+ui7CPEa2M7mA2WdPIDUaDNUvAzdUlwqkHUfXo0VMq1urEvKk/sXLBSCrU7Miho2fC1Ttz7jJ7D5wgc8Yv+d/YWUwb34eWTasDoXOir55ch8Fgx+9//M28xb+/dX8is2f/8Tca6TYY7EiSOJ7Nexw2p/vFsrDfh4i2lA4ODubgkdPkzpmR+PG8SJ6xLJ1a12XitKWYTPYM6deahi36sX7pzzbnbf/7IF/lqmr9OWP6L1g+bwSlKrXm8tWbL79MlB07eZ5SVdqwcv5IVs4bSbmaHSIMvOcsXM+Qfm04cvwcGdKlYmAvb/p1b27dNeHqyXXYG430HDje+nvq4+tHcHAIJb/Ny84/Qh8oJU+agEQJ43Lwr7n4+QdYHyru+ucIHbr/uyODnZ0do4d05NqNO2zYtIu2XUZgMNgx+edeZMmcFh8fP7asCd0O0dHRjKuLE7mLNuDs+Stv/V5ExYe4t/sPmcSOXYcY3KcVPTo1YtD//l234/GTZ3xfvT0Na3/PiJ86cPT4OY6dPE/dpr3xcHclX+7MXLh0nQXTB1u3pjsfyYi8iIiIvB0F3Z8oJ0cHTCYT2/8+wM6NU3n46Cl2dqHzeEtVbs3+Q6cYO+zfQDcwIIi//j5oE1A8vLKFp898CQgIZMHSjdaRJwgNGMK2Pvqx5xhyZM3Ajg1TCbJYCA4OpmPrOri7ueLs7MjNW6HzBO3s7DAaDcxfvIGho2cA8MzH12bOr7ubC3MmD2T+4g3s2X/cGnQfOX6Wsb/OY9HMYVSs3ZHjJ8NvJfSusmROS5UKxejUczT+/gEUK5KLbF+ni3A1X2cnxzcKuO3tjTiYzdZrvX7zLmYHE4FBQdy4ecfmIUjjVgNeO9LtYDbh4+PHqPFzrWWjh3Rk5rzV3Lh1D3i+5dBLD1cqff8Nq9f/xYBhk6ldrRQXL9+wWfH+RZeOrg5XFiuWB/nzZOHexT8BuP8gdI5p6lRJ3jl48fXzp0ajbiyeOYyFM4aSvVBtm5Rpo9FIujQpSPNFMnbuPszdew/5MltFHj16ilcsD84fXkGSdKUwGAzWBfjelYODmaAgS4Sr+UfEYAjdDios7dre3v6N5nSbTCab9pIlSUD1ysUplD8bA4dNCS0MCU07L10iP0EWC4+fPLPeV2Ej5enTpmTHhinceZ71ABA3jicPHz1h44rx4fodN44n2QvXjTT9+WUXLl7j++rtWbdkLJPG9qRa/a42x52dHSmUPxvOTg7Eje3JouV/0HfwRAICAilXujBNG1SkbLV24VbXD7P+z79tRrqv37jDnEXrCAy0MHr8XIb1b2PdCSDMMx9f8pdoDIT+vjWsXY6ePzZmw+ZdZMlf02Y+9Ip5I7j+fKXwDyG67+3HT56xbNVmzCZ7hvZrYxN0A1y8dJ0+P/1GlkxpqF29FN37hW7b9ujxU4oUyM7Gzbtxd3Nl64791K1Rhn5DJkbvGyIiIvKZUdD9ifLx86ffkIm0866Fj48fbToPx8PdlUvHVnP2/NVwe7lGFkBaLBab9OsXvbiK9d4Dx/k6f01y58jIteu3uXr9Ng3rlKNIgezUb94H+Dcd1N8/4kWnkidNwPplv+DvH8CAYZPDjcaP/W0+X6RKyqZVv/FdpVYcOnI6wjaa1K/IwjfcEiheXC9mTxrAsNEzrAurBQZZ6NCqDj6+fvwycaFN/Y0rx5MwfmwCA0NXYQ4blYN/53TXrVnGWmZ8HoylyPQ9ALPmr6FAniyUKp6fOQvX4+j4b/p+VEa6z1+8xsDhU4j9wr7aBoMBTw836x7l8xb9zr5DJ2zOe3krqBTJEr7RSHfihHGZNX8NrX8cbi1Lkige8ePF5ujxd0/n9vMLoFbjHnyd8ctwc5QdHEz8sfJXHjx8zJrf/2LPlplkLVg73ChrcHAwwcHB1q3gAOLH88LdzZV79x9ZHxRExaDe3hTMm9Xm9+PFzzrMUx9fdv4xDTtC5/5nL1QHgK079nP12q3Xvs6duw+o16wPt27fsym/e/8heXJmomf/8axcv43hA9tSrWJxWjerjn9AIA5mEyEhIfxvUDub8/z8A3jw8Alps1cCoFObunxbOBflarQnMDCInNky8F2xvNZA/twh29Xxo+LipetUrduFJ8/CZ5Nk+zod40d2Zcv2fdjbG5k1cQAZc1cLVy8oyILZbMLOLthmbYUSRXNbF4tLmSIxAAuXbmT+tMHMmLuaksXyRbpKfdMGFenQqg537z2ggXdfvkiZhIlje1CrcWj2StsWNUmVIjH1nv+7FMbdzYX48WLj6+sXbo2J9+F939tGo4GF04fQvP1P3Hz+oM0/INCa3fJtkVyUKp6PTj1GW8/3Dwi0+bc/W5Z07DlwnNheHly6fJ0Tpy5Yt38UERGR90dB9ycuonRVuwgK7exCR4e8XgjiIHQec+h8ZlO4YxEZ3LcV0+esss4PLFo4J3u2hI4UGwwG7I1GylZrx5UIAhH/gEAOHj5Fj/7jWTJ7mHVedkhICN5NqnD46FlKVW7N8tWbrQG34fkWZmm/TI53k6rUqFyCzdv2Ym8KP4Lm6uLE1PF96Dd4IsdO/ruVVry4XiydPYyNm3bZjGpv/Wsf7buNYNyILly7cYdlz1PmAfIXbxTpexCVOd1hTPZGxo3owo1bd60B0Msj3T07NyZRAtuR7o6t65I7Z0abBx+ODmbKlS5sTS83GA0UKZid2k16Rvr6bzrSnTtHRn5+ac5o/Vpl+XPLPzb7iL+Lx0+esf3vgzZlRqMBHx8/ipVrwfmL1/gyVVL8/AL4e6NtAHzzzAZr/d6DJvDrlMUA9O/RguqVijNk5PQofS5hXgxYPNxd6fFjYwYNn2Kdv28wGOjfoxlLV21m/8GT4c6/cPFalEaPff38Wbl2q831Avj4+FkXovPwcAVg6apNzJi3mrFDO3H1xm1++t807O2N/Lny1wjbHtTbm+aNKjN8zCzaedckjpcnKZInovg3uXnyxIcxv86L2psRgaMRzJs3Gg3s2H2Igt814cjxs/xQvyJxvDytn43BYIe9vZGbZzZY/90pUrqZzVznnbsPM/KXOSRPlpBenRszoFcL6jTpycbNu9m8egKrf98e6cOTPQeO077bCNZt3AnAP3uPUbFsEab/2ocLl65Tudy3VKzdMVxAW75MEX4e/mO4jJ/36X3f2z6+vkwd34eO3UdhsLPjx7b1mL8kNPX81OmLTP+1Lzdv3WPuwvXkz/M1BfNltRkFr/T9N/T5aSLFiuQiUcK4JE+WiIePnkTLtYuIiHzOFHR/gowvbJkVGGThu2/zcmpf6H64t27fx2RvtP5RHzYSaLAzkCdnJs4fth3xcnQ0YzAYqFC2CBXKFrE5FlFAHxgYZDOSsmnrHutI9yv7bDRw+859Rv4SuhVV0bLNARg+sC1Pn/rapDuG/TENoUEgwF+/T2Hpqs0UKdOME6cukC5NCiB0JOfc+dA01OqVilOiaB669f3Fen7eXJmY/Hwu+42bdxk+sC0J4sUmUcK4xPHyJDAoiJNnLjFhVDfuP3hsEwxHei0GA8ZI0mZflDJFYr78IhmXr96k7+DQ6zO8tA+6k6MDiRPEtVkcD+CnEVPx9w+wmbN+7tAK6vzQizPnLgOhI67mV6RZh90DL0udKilJEsfD2dkRvxcC6VzZvyJJonisWrfNWvZFyiR4/1CVirU6WcvsTcYoXT+EvlcvX/Or+hq2h/Wxk+dt9hsPS8F9sex9ypj+C6ZP6Mu9+49wc3W2Bt1Ojg64ODvx+9Jf+Pm3Bfw0Ymq4LJKXhT0QenEkPlydCLbLMhr+3XouICAQe5M9ZpOJRAniULZkQZInS2hdh+DFfwP2HzrJvMW/8+jxU85fvMaVaze5fvMuSRLGI13aFMT28sBsNoVbOf1lBqMBQ0S/9OH6aSAkOMQaRE+asYxJM/5dZfvF9PKX/W9QO74vWYhLV25QrWIxjh4/R0BAEENGTuf23Qe4u7lw+txlihTMQfuWtVi+Zmu4hxoHDp2y+dne3si6jTvp36M5u/Yc4btKrWy2SYwuH+Le9u44lKH92rBu8Vh8/f2Zt+h3a1B99fptajTsxoCeLWjfshZnz12hzg+9rA8svWJ5cOHSdSwWC9t3HqB9y1rUqFScaq/YmlFERETejoLuT9CL+/X+8tuCcKvZVqtYnNrVSrJg6Uau3bgDgNnBFG6E59LR1Tg6mDGbTRHO6Q6bf9qzc2Oqli+Gj68fsb086Ny2Hq2aVcfFyRGzgylcOq6jg5knT55RuHRTa1lQUBB2hP8D1cFsJsgh8mBg/R9/U6RgdvoOnsjps5et5ecuXGXnP4fZuHycNU09ICCQ0ePn2swF9fH1x83Vmd17j2Iym9i15wgXLl3n4qUb1pE0e3sjKxeMosx3BaIUdDs6OkS42vvL7t1/yLTZK+nYY7R1a66X91peNvd/ZPoqNR26/btg1PqlP+Pi7IRfBAu9Tf65p3WufVjf3VydKVe9A9dv3rHtZyR9zJ3jK4YPbMfaDTvYf+jf0dtMX6Vmxrw1NnNjJ4zuzvwlG/hn3zFrmYM54tXuI+Lo6BDumiPiYDa98rjz8z3onRwdIhxxb9Z2EH5+/ty68+rV2l9mb2+knXctOrauw7hJCxk8YrpNoPzMx5f23Uayct02JozqTpGC2alar8sr9wr3cHe1XpOPb8T3dkQPRIxGA5ev3LTeK70G/kpgYBBPn/nQsXUdNm3dw47nK3w7vbAbwJIVm1iyIvzq5A8fPiF3zoyc2LOYoyfOWf8tiIyTowMOjq//rMxR+KycnBwiPDZw+BS69vnZ5sHFDw0q4uBgZvHMofz+59+06zoCT083WjSqTOc2dWnZaRjBwcGYzSYyf/Ulzs6OJE+SgNRfJCV3jox8nSkN+w6coF6z3qxe/1ek/Zo1fw1+fv6ULJ7vtdcYFR/i3n748InNv8sv27HrkPUB5svuP3jElJmhD1l9fP0oWan1a/sqIiIib8fOI0nhN9zURv7rXF2cCAgMsqYhv428uTJx6MiZSPfp/S+xtze+dnTSYDCE27P6Q/DwcOXpU98oL+T1PrzJtcb28uDxk2cEvhDof4xyZf+KMUM78V3FVuH2a38VOzs7+vdozoY//w6XFvyyxAnjUq9mGYaMmhHlvd/l/fpz1a+kSJaIS1ducOzEOfbsP87Gzbu5cfPua8+NE9uTFfNG0Lrz8AinCoiIiIi8LQXdIvLJc3N1xmQyvdEiavLfY2dn904PPJInS8ilyzfeY49EREREFHSLiIiIiIiIRJuIV1ISERERERERkXemoFtEREREREQkmijoFhEREREREYkmCrpFREREREREoomCbhEREREREZFooqBbREREREREJJoo6BYRERERERGJJgq6RURERERERKKJgm4RERERERGRaKKgW0RERERERCSaKOgWERERERERiSYKukVERERERESiiYJuERERERERkWiioFtEREREREQkmijoFhEREREREYkmCrpFREREREREoomCbhEREREREZFooqBbREREREREJJoo6BYRERERERGJJgq6RURERERERKKJgm4RERERERGRaKKgW0RERERERCSaKOgWERERERERiSYKukVERERERESiiYJuERERERERkWiioFtEREREREQkmijoFhEREREREYkmCrpFREREREREoomCbhEREREREZFooqBbREREREREJJoo6BYRERERERGJJgq6RURERERERKKJgm4RERERERGRaKKgW0RERERERCSaKOgWERERERERiSYKukVERERERGJQoXxZWT53hPVnr1gejB7SkbWLx9Djx8aYTPYAZM+Sno0rxnNy7xLmTxtMgvixATAYDFw+voZT+5ZavwwGhXofC30SIiIiIiIiMSRf7sxM+rkX9vZGa9nUcb05efoirToNI2fWDDRtUBGj0cjEsT0Y9L8ppMtRmX0Hj/Pz8M4ApEmdjMNHz5A2eyXrV3BwcExdkrxEQbeIiIiIiEgMaVK/An0H/2b92dnJkc3b9zJh6hLOX7zG2g1/kSplEnJkTY+Pjx9btu8DYP7iDeTNlRmALJnScOjo6Rjpv7yegm4REREREZEY0si7P1eu3rL+7OPrx5hf5wGQInkialcrxYo1W7FYgvH0cLWmjX+VPhV37z4A4OuMaShXqhDnDq1g//Y5lC6R/8NfiETKPqY7ICIiIiIiIra+zpSGRTOGcO7CNf7Zd5SAgCCe+fgxe1J/Dh05Q+N65Zk5fw0At+7cp2OP0WzYtIt8uTMzZ/JAMuauzjMf3xi+CgGN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",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import random\n",
    "from datetime import datetime, timedelta\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from faker import Faker\n",
    "\n",
    "# ================== 1. 生成模拟数据 ==================\n",
    "fake = Faker('zh_CN')\n",
    "\n",
    "# 目标汇总数据（与你给的表格完全一致）\n",
    "summary_target = pd.DataFrame({\n",
    "    '商品': ['口红', '面膜', '隔离', '防晒', '精华'],\n",
    "    '2021销量': [3568, 4135, 4436, 4106, 4936],\n",
    "    '2022销量': [2569, 3241, 2965, 3209, 3541]\n",
    "})\n",
    "summary_target['差值'] = summary_target['2021销量'] - summary_target['2022销量']\n",
    "\n",
    "# 为每个商品指定一个简单的 spu / sku 前缀\n",
    "spu_map = {\n",
    "    '口红': 'LIP',\n",
    "    '面膜': 'MSK',\n",
    "    '隔离': 'ISO',\n",
    "    '防晒': 'SUN',\n",
    "    '精华': 'ESS',\n",
    "}\n",
    "\n",
    "rows = []\n",
    "order_id = 1\n",
    "\n",
    "for _, row in summary_target.iterrows():\n",
    "    product_name = row['商品']\n",
    "    spu_prefix = spu_map[product_name]\n",
    "\n",
    "    for year in [2021, 2022]:\n",
    "        target_qty = int(row[f'{year}销量'])\n",
    "        remaining = target_qty\n",
    "\n",
    "        # 不断拆分成若干订单行，使得 quantity 之和 = 目标销量\n",
    "        while remaining > 0:\n",
    "            qty = random.randint(1, min(5, remaining))  # 每行 1~5 件\n",
    "            remaining -= qty\n",
    "\n",
    "            # === 修改点：使用 datetime 对象，而不是字符串 ===\n",
    "            start_dt = datetime(year, 1, 1, 0, 0, 0)\n",
    "            end_dt = datetime(year, 12, 31, 23, 59, 59)\n",
    "            order_time = fake.date_time_between(\n",
    "                start_date=start_dt,\n",
    "                end_date=end_dt\n",
    "            )\n",
    "            payment_date = order_time + timedelta(minutes=random.randint(5, 60))\n",
    "            shipping_date = payment_date + timedelta(days=random.randint(0, 5))\n",
    "\n",
    "            # 价格与金额\n",
    "            unit_price = round(random.uniform(80, 400), 2)\n",
    "            product_amount = round(unit_price * qty, 2)\n",
    "            original_price = round(unit_price + random.uniform(10, 80), 2)\n",
    "            discount_ratio = random.uniform(0.8, 1.0)\n",
    "            payable_amount = round(product_amount * discount_ratio, 2)\n",
    "            # 假设全部已付清\n",
    "            paid_amount = payable_amount\n",
    "\n",
    "            # 一些字符串字段\n",
    "            internal_order_number = f\"IN{year}{fake.random_number(digits=8, fix_len=True)}\"\n",
    "            online_order_number = f\"ON{year}{fake.random_number(digits=8, fix_len=True)}\"\n",
    "            store_name = random.choice(['旗舰店', '自营店', '品牌专卖店'])\n",
    "            full_channel_user_id = fake.uuid4().replace('-', '')[:32]\n",
    "            status = random.choice(['已完成', '已发货', '已付款'])\n",
    "            consignee = fake.name()\n",
    "            province = fake.province()\n",
    "            city = fake.city_name()\n",
    "            platform = random.choice(['天猫', '淘宝', '京东', '抖音'])\n",
    "            color_and_spec = random.choice(['红色/1.5g', '自然色/30ml', '清爽型/50ml', '滋润型/100ml'])\n",
    "\n",
    "            spu = f\"{spu_prefix}{fake.random_number(digits=4, fix_len=True)}\"\n",
    "            sku = f\"{spu}-{random.choice(['S', 'M', 'L', 'XL'])}\"\n",
    "\n",
    "            is_gift = random.choice(['是', '否'])\n",
    "            refund_status = random.choice(['未申请退款', '成功退款', '退款中'])\n",
    "\n",
    "            row_dict = {\n",
    "                'id': order_id,\n",
    "                'internal_order_number': internal_order_number,\n",
    "                'online_order_number': online_order_number,\n",
    "                'store_name': store_name,\n",
    "                'full_channel_user_id': full_channel_user_id,\n",
    "                'shipping_date': shipping_date,\n",
    "                'payment_date': payment_date,\n",
    "                'payable_amount': payable_amount,\n",
    "                'paid_amount': paid_amount,\n",
    "                'status': status,\n",
    "                'consignee': consignee,\n",
    "                'spu': spu,\n",
    "                'order_time': order_time,\n",
    "                'province': province,\n",
    "                'city': city,\n",
    "                'platform': platform,\n",
    "                'sub_order_number': None,\n",
    "                'online_sub_order_number': None,\n",
    "                'original_online_order_number': online_order_number,\n",
    "                'sku': sku,\n",
    "                'quantity': qty,\n",
    "                'unit_price': unit_price,\n",
    "                'product_name': product_name,\n",
    "                'color_and_spec': color_and_spec,\n",
    "                'product_amount': product_amount,\n",
    "                'original_price': original_price,\n",
    "                'is_gift': is_gift,\n",
    "                'sub_order_status': None,\n",
    "                'refund_status': refund_status,\n",
    "                'registered_quantity': qty,\n",
    "                'actual_refund_quantity': 0\n",
    "            }\n",
    "\n",
    "            rows.append(row_dict)\n",
    "            order_id += 1\n",
    "\n",
    "# 生成的模拟 erp_order 数据表（行数远 > 1000）\n",
    "erp_order_df = pd.DataFrame(rows)\n",
    "print(\"模拟 erp_order 行数：\", len(erp_order_df))\n",
    "\n",
    "# ================== 2. 基于生成数据做聚合，验证总量 ==================\n",
    "erp_order_df['year'] = erp_order_df['order_time'].dt.year\n",
    "\n",
    "agg_df = (\n",
    "    erp_order_df\n",
    "    .groupby(['product_name', 'year'])['quantity']\n",
    "    .sum()\n",
    "    .unstack()\n",
    "    .rename(columns={2021: '2021销量', 2022: '2022销量'})\n",
    ")\n",
    "\n",
    "# 关键：去掉列索引的名字（原本是 'year'）\n",
    "agg_df.columns.name = None\n",
    "\n",
    "agg_df = (\n",
    "    agg_df\n",
    "    .reset_index()\n",
    "    .rename(columns={'product_name': '商品'})\n",
    ")\n",
    "\n",
    "agg_df['差值'] = agg_df['2021销量'] - agg_df['2022销量']\n",
    "print(\"\\n从模拟数据聚合得到的汇总表：\")\n",
    "print(agg_df)\n",
    "\n",
    "# 确认与目标表完全一致（如果不一致会报错）\n",
    "pd.testing.assert_frame_equal(\n",
    "    agg_df.sort_values('商品').reset_index(drop=True),\n",
    "    summary_target.sort_values('商品').reset_index(drop=True)\n",
    ")\n",
    "print(\"\\n校验通过：聚合结果与目标表完全一致！\")\n",
    "\n",
    "\n",
    "# ================== 3. 画出与 Excel 类似的可视化 ==================\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']   # 显示中文\n",
    "plt.rcParams['axes.unicode_minus'] = False     # 负号正常显示\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(10, 5))\n",
    "\n",
    "# 背景色\n",
    "fig.patch.set_facecolor('#0f1c3f')   # 深蓝\n",
    "ax.set_facecolor('#0f1c3f')\n",
    "\n",
    "products = summary_target['商品'].tolist()\n",
    "y2021 = summary_target['2021销量'].values\n",
    "y2022 = summary_target['2022销量'].values\n",
    "diffs = summary_target['差值'].values\n",
    "\n",
    "x = np.arange(len(products))\n",
    "width = 0.32\n",
    "\n",
    "bar1 = ax.bar(x - width/2, y2021, width,\n",
    "              label='2021销量', color='#0066CC')\n",
    "bar2 = ax.bar(x + width/2, y2022, width,\n",
    "              label='2022销量', color='#7FB3FF')\n",
    "\n",
    "# 柱顶数值标注\n",
    "for b in bar1:\n",
    "    ax.text(b.get_x() + b.get_width()/2, b.get_height() + 60,\n",
    "            f'{int(b.get_height())}', ha='center', va='bottom',\n",
    "            color='white', fontsize=9)\n",
    "\n",
    "for b in bar2:\n",
    "    ax.text(b.get_x() + b.get_width()/2, b.get_height() + 60,\n",
    "            f'{int(b.get_height())}', ha='center', va='bottom',\n",
    "            color='white', fontsize=9)\n",
    "\n",
    "# 差值箭头和数值（2022 -> 2021）\n",
    "for i, (p, v21, v22, d) in enumerate(zip(products, y2021, y2022, diffs)):\n",
    "    x_center = x[i]\n",
    "    y_start = v22 + 150\n",
    "    y_end = v21 + 150\n",
    "\n",
    "    ax.annotate(\n",
    "        '',\n",
    "        xy=(x_center, y_end),\n",
    "        xytext=(x_center, y_start),\n",
    "        arrowprops=dict(arrowstyle='->', color='white', linewidth=1.2)\n",
    "    )\n",
    "    ax.text(x_center, y_end + 80, f'{int(d)}',\n",
    "            ha='center', va='bottom', color='white', fontsize=9)\n",
    "\n",
    "# 轴与刻度样式\n",
    "ax.set_xticks(x)\n",
    "ax.set_xticklabels(products, color='white', fontsize=10)\n",
    "ax.tick_params(axis='y', colors='white')\n",
    "for spine in ax.spines.values():\n",
    "    spine.set_visible(False)\n",
    "\n",
    "# 只保留一条浅色横轴线\n",
    "ax.axhline(0, color='#cccccc', linewidth=0.8)\n",
    "\n",
    "# 图例\n",
    "legend = ax.legend(facecolor='#0f1c3f', edgecolor='none', fontsize=9)\n",
    "for text in legend.get_texts():\n",
    "    text.set_color('white')\n",
    "\n",
    "# 标题 & 副标题\n",
    "fig.suptitle('2022年商品对比去年销售情况',\n",
    "             color='white', fontsize=18, x=0.12, y=0.95, ha='left')\n",
    "fig.text(0.12, 0.85,\n",
    "         '商品整体比去年销量有所下降，其中隔离下降最多，下降33%',\n",
    "         color='white', fontsize=11, ha='left')\n",
    "\n",
    "# 数据来源脚注\n",
    "fig.text(0.02, 0.02,\n",
    "         '*注：数据来源于公司销售系统，统计日期截至2022.01.01',\n",
    "         color='white', fontsize=8, ha='left')\n",
    "\n",
    "plt.tight_layout(rect=[0, 0.05, 1, 0.88])\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ccda5609-bdee-4b99-874b-d700018f4f34",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
